package com.hyt.it.ogt.kq.service.gov.feign.kh.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @program: it-ogt-kh
 * @description: 解析汇总文件接口请求实体
 * @author: Yang HuanKun
 * @create: 2023-12-05 10:34
 **/
@Data
@EqualsAndHashCode
@Accessors(chain = true)
@ToString(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="解析汇总文件接口请求实体", description="解析汇总文件接口请求实体")
public class AnalysisCenterFileParam {

    @ApiModelProperty(value = "汇总任务ID")
    private String gatherId;

    @ApiModelProperty(value = "当前登录人的用户ID")
    private String currentLoginUserId;

    @NotBlank(message = "ZIP文件URL不能为空")
    @ApiModelProperty(value = "zip文件url")
    private String zipFileUrl;

    @ApiModelProperty(value = "ZIP文件解压缩密码")
    private String zipFilePassword;

    @ApiModelProperty(value = "机构ID")
    private String officeId;

    @ApiModelProperty(value = "部门ID")
    private String deptId;

    @ApiModelProperty(value = "任务ID")
    private String taskId;

    @ApiModelProperty(value = "任务名称")
    private String taskName;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "任务开始时间")
    private LocalDateTime taskBeginDate;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "任务结束时间")
    private LocalDateTime taskEndDate;

    @ApiModelProperty(value = "批次ID")
    private String timeId;

    @ApiModelProperty(value = "批次名称")
    private String timeName;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "任务开始时间")
    private LocalDateTime timeBeginDate;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "任务结束时间")
    private LocalDateTime timeEndDate;
    
    @ApiModelProperty(value = "考试类型")
    private String testClassify;
}
